Fix reporting of interrupt ID in ARM GIC driver
authorAchin Gupta <achin.gupta@arm.com>
Mon, 18 May 2015 09:56:47 +0000 (10:56 +0100)
committerAchin Gupta <achin.gupta@arm.com>
Tue, 19 May 2015 10:53:54 +0000 (11:53 +0100)
commitca0225a5dcdd496e1ed1808ff0925dc911098654
treeee81a7e7a6c50033623cc1f683f3718bcd1a1cb7
parent5717aae1c34c8ad3b556d65179f1e197c45a41c3
Fix reporting of interrupt ID in ARM GIC driver

The ARM GIC driver treats the entire contents of the GICC_HPPIR as the interrupt
ID instead of just bits[9:0]. This could result in an SGI being treated as a
Group 1 interrupt on a GICv2 system.

This patch introduces a mask to retrieve only the ID from a read of GICC_HPPIR,
GICC_IAR and similar registers. The value read from these registers is masked
with this constant prior to use as an interrupt ID.

Fixes ARM-software/tf-issues#306

Change-Id: Ie3885157de33b71df9781a41f6ef015a30c4608d
drivers/arm/gic/arm_gic.c
include/drivers/arm/gic_v2.h